View Javadoc
1 /* ==================================================================== 2 * The Apache Software License, Version 1.1 3 * 4 * Copyright (c) 2000 The Apache Software Foundation. All rights 5 * reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in 16 * the documentation and/or other materials provided with the 17 * distribution. 18 * 19 * 3. The end-user documentation included with the redistribution, 20 * if any, must include the following acknowledgment: 21 * "This product includes software developed by the 22 * Apache Software Foundation (http://www.apache.org/)." 23 * Alternately, this acknowledgment may appear in the software itself, 24 * if and wherever such third-party acknowledgments normally appear. 25 * 26 * 4. The names "Apache" and "Apache Software Foundation" must 27 * not be used to endorse or promote products derived from this 28 * software without prior written permission. For written 29 * permission, please contact apache@apache.org. 30 * 31 * 5. Products derived from this software may not be called "Apache", 32 * nor may "Apache" appear in their name, without prior written 33 * permission of the Apache Software Foundation. 34 * 35 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 36 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 37 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 38 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 39 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 42 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 43 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 44 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 45 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 46 * SUCH DAMAGE. 47 * ==================================================================== 48 * 49 * This software consists of voluntary contributions made by many 50 * individuals on behalf of the Apache Software Foundation. For more 51 * information on the Apache Software Foundation, please see 52 * <http://www.apache.org/>;. 53 * 54 * Portions of this software are based upon public domain software 55 * originally written at the National Center for Supercomputing Applications, 56 * University of Illinois, Urbana-Champaign. 57 */ 58 59 package net.sourceforge.jane.lang.jjtree; 60 61 import net.sourceforge.jane.Jane; 62 import net.sourceforge.jane.lang.*; 63 import net.sourceforge.jane.jjtree.*; 64 65 /*** 66 * A {@link ClassInfo} that gets its information from a {@link JavaClassDeclaration}. 67 */ 68 public class JJTreeClassInfo extends AbstractClassInfo 69 { 70 71 private JavaCompilationUnit compilationUnit; 72 private JavaClassDeclaration classDeclaration; 73 74 /*** 75 * Create a new <code>JJTreeClassInfo</code>. 76 */ 77 public JJTreeClassInfo(Jane aJane, 78 JavaCompilationUnit aCompilationUnit, 79 JavaClassDeclaration aClassDeclaration) 80 { 81 super(aJane); 82 compilationUnit = aCompilationUnit; 83 classDeclaration = aClassDeclaration; 84 } 85 86 /*** 87 * Returns the name of the element. 88 */ 89 public String getName() 90 { 91 return getClassDeclaration().getName(); 92 } 93 94 /*** 95 * Returns <code>true</code> if this element is public. 96 */ 97 public boolean isPublic() 98 { 99 return getClassDeclaration().getModifiers().isPublic(); 100 } 101 102 /*** 103 * Returns <code>true</code> if this element is protected. 104 */ 105 public boolean isProtected() 106 { 107 return getClassDeclaration().getModifiers().isProtected(); 108 } 109 110 /*** 111 * Returns <code>true</code> if this element is package protected. 112 */ 113 public boolean isPackageProtected() 114 { 115 return getClassDeclaration().getModifiers().isPackageProtected(); 116 } 117 118 /*** 119 * Returns <code>true</code> if this element is private. 120 */ 121 public boolean isPrivate() 122 { 123 return getClassDeclaration().getModifiers().isPrivate(); 124 } 125 126 /*** 127 * Returns <code>true</code> if this class is an interface. 128 */ 129 public boolean isInterface() 130 { 131 return false; 132 } 133 134 /*** 135 * Returns the super class. 136 */ 137 public ClassInfo getSuperClass() 138 { 139 return new JJTreeLazyClassInfo(jane, 140 getPackageName(), 141 getClassDeclaration().getSuperClass(), 142 compilationUnit.imports()); 143 } 144 145 /*** 146 * Returns the interfaces this class implements. 147 */ 148 public Classes getInterfaces() 149 { 150 return new JJTreeClasses(jane, getPackageName(), 151 getClassDeclaration().getInterfaces(), 152 compilationUnit.imports()); 153 } 154 155 /*** 156 * Returns the package name. 157 */ 158 public String getPackageName() 159 { 160 JavaPackageDeclaration packageDecl = (JavaPackageDeclaration)/index.html">JavaPackageDeclaration packageDecl = (JavaPackageDeclaration) 161 JJTreeUtils.findFirstChild(compilationUnit, JavaPackageDeclaration.class); 162 return packageDecl == null ? "" : packageDecl.getPackageName(); 163 } 164 165 /*** 166 * Returns the methods. 167 */ 168 public Methods getMethods() 169 { 170 return new JJTreeMethods(jane, getPackageName(), 171 new ChildNodeEnumeration(getClassDeclaration().getClassBody(), 172 JavaMethodDeclaration.class)); 173 } 174 175 /*** 176 * Returns the fields. 177 */ 178 public Fields getFields() 179 { 180 return null; 181 } 182 183 /*** 184 * Returns <code>true</code> if this class is abstract. 185 */ 186 public boolean isAbstract() 187 { 188 return getClassDeclaration().getModifiers().isAbstract(); 189 } 190 191 /*** 192 * Returns <code>true</code> if this class is final. 193 */ 194 public boolean isFinal() 195 { 196 return getClassDeclaration().getModifiers().isFinal(); 197 } 198 199 /*** 200 * Returns <code>true</code> if this class is static. 201 */ 202 public boolean isStatic() 203 { 204 return getClassDeclaration().getModifiers().isStatic(); 205 } 206 207 /*** 208 * Returns the class declaration. 209 */ 210 public JavaClassDeclaration getClassDeclaration() 211 { 212 return classDeclaration; 213 } 214 215 } 216

This page was automatically generated by Maven